package s03;

/**
 * @ClassName Test03
 * @Description 转换前，我们最好做一个判断
 * @Author Li
 * @Date 2022/8/2 10:38
 * @ModifyDate 2022/8/2 10:38
 * @Version 1.0
 */
public class Test03 {
    public static void main(String[] args) {
        // 向上转型
        Animal a = new Cat();
        a.eat(); //调用的是Cat的eat

        // 向下转型
        if (a instanceof Cat) {
            Cat c = (Cat) a;
            c.catchMouse(); // 调用的是Cat的catchMouse
        } else if (a instanceof Dog) {

            Dog d = (Dog) a;
            d.watchHouse(); // 调用的是Dog的watchHouse
        }
    }
}
